1. Field of the Invention
This invention relates to computer graphics, and more specifically to a system, apparatus and method for gradually transitioning between a linear filter and a higher order filter that produces images having high resolution without visual discontinuity across a wide range of resize ratios.
2. Related Art
Many computer graphics applications require the generation of graphic images with a continuous and smooth visual effect while consistently maintaining high resolution for each output image. The generation of images in these applications must be at a constant frame rate to achieve the continuous visual effect. These applications include visual simulation and virtual reality in which the user operates in an interactive graphic environment. Specific environments include: pilot and driver training, medical and surgical preview, medical diagnosis and analysis, computer-aided design, and any other application where a user needs to walk-through or manipulate data. In these applications, the graphic images are an important feature of the system. Users require the images to be continuous with smooth transitions, while maintaining quality resolution, as they move their fields of vision.
Continuous graphic images are ensured when the computer system generates images at a constant frame rate. The system must process and generate each image within the time limit of one frame or field of video. The system cannot extend the processing of an image beyond the time limit of one frame without impacting the visual effect and generating a variable frame rate. When a system does not adhere to a constant frame rate, and generates images at a variable frame rate, the user is subject to sudden and abrupt image updates. Such spasmodic updates detract from the realism of the experience and are visually disturbing to the user. Therefore, a constant frame rate is required to achieve a realistic and effective interactive graphic environment.
Co-pending application Ser. No. 08/620,215 (entitled xe2x80x9cDynamic Image Resizing,xe2x80x9d filed Mar. 22, 1996) and co-pending Continuation-In-Part application Ser. No. 09/140,396 (entitled xe2x80x9cSystem and Method For Combining Multiple Video Streams,xe2x80x9d filed Aug. 26, 1998), both of which are incorporated herein by reference, describe a video resizing technique that generates graphic images at a constant frame rate. This video resizing technique reduces the time it takes to generate a complex graphic image, thereby ensuring that the image is generated within the required frame rate. When more than one frame is needed to generate an image or when the computational time approaches the frame limit, the image size is simply reduced or resized, i.e., the number of pixels in the image is reduced. This reduction in an image""s size also causes a reduction in the image""s resolution.
A smaller version of the image requires less computational time for the video software to generate the image because the fill rate of the image, i.e., the time to draw the image, is proportional to the number of pixels in the image. Drawing at a reduced size or resolution can reduce the number of pixels per line, the number of lines of the image, or both. The fill demand is reduced by the proportion of pixels reduced. The video software draws a reduced image to a frame buffer. The reduced image is then sent through a filter to magnify it back up to its target size prior to sending it to the display device. The goal is that there be no perceptible difference between the original non-reduced image and the output image after resizing and filtering. While this video resizing technique generates complex graphic images within a single frame and ensures a constant frame rate, the quality of resolution for each output image may vary for reasons described below.
To ensure a continuous and smooth visual effect of displayed images during a simulation, the amount to reduce each image is determined on a frame by frame basis and synchronized with the display of each image. More complex original images must be reduced more, prior to storing them in the frame buffer, than less complex original images. Simple original images may not have to be reduced at all. Once a reduced image is stored in the frame buffer, the reduced image must then be magnified back up to its target size prior to displaying the output image, i.e., a filter can add pixels to the image. Therefore, each image may have associated with it a different resize ratio, where the resize ratio relates to the correspondence between the original image and the reduced image. This correspondence between the original image and the reduced image indicates how much the reduced image needs to be magnified back up to its target size prior to displaying the output image. For example, a simple original image that is not reduced at all will have a resize ratio of 1:1. Here, there is no need to use a filter to magnify, or take the reduced image back to its target size, prior to sending it to a display device.
Computer applications typically use a linear filter, to magnify the reduced image back to its target size prior to being displayed. Linear filters work best with images that have a resize ratio of close to 1:1. Therefore, linear filters work best with simple original images that require little or no magnification. Linear filters do not work as well with larger resize ratios, as would be required for complex original images. When a linear filter is used with a large resize ratio, the displayed output tends to appear blurred.
An alternative to a linear filter is a higher order filter. One example of a higher order filter is a cubic filter. A higher order filter will reduce the blurring problem that occurs at large resize ratios. However, when a cubic filter is used to magnify an image with a resize ratio close to 1:1, the output image appears sharpened. Edges that were subtle in the original image end up being more pronounced after resizing with a cubic filter. When a linear filter is used to filter all the images, simple images appear close to their original image, but the more complex images appear blurred. When a cubic filter is used to filter all the images, simple images appear sharper than their original image and complex images appear close to their original image. The goal is to produce output images that appear as close as possible to their original non-reduced image.
One approach to ensure as many output images as possible appear close to their original non-reduced images is to use a linear filter for images with small resize ratios and then switch to a cubic filter for images with large resize ratios. This is not a reasonable solution because when the switch is made from one filter to another the user will see a discontinuity or xe2x80x9cpopxe2x80x9d in the output image. Such discontinuities detract from the realism of the experience and are visually disturbing to the user. Therefore, what is needed is a filter that will produce acceptable results throughout a large range of magnification.
The present invention provides a system, apparatus and method for filtering an image that produces output images having high resolution without visual discontinuity across a wide range of resize ratios. The invention includes a linear filter for reduced images requiring low magnification and a higher order filter for source images requiring high magnification. In the transition region an interpolation is performed between the linear and higher order filters to provide a smooth transition in filtering and magnification to produce an output image.
Additional features of this invention will become apparent from the following detailed description of the best mode for carrying out the invention and from appended claims.